import Materias
import Archivos
import Alumnos
import Interfaz

operaciones = ["Salir", "Ver Materias Aprobadas", "Ver Promedio", "Ver Materias Cursables", "Materias que tienen como correlativa a"]
	
def main():
	fmaterias, faprobadas = Archivos.abrir_archivos()
	materias = Archivos.obtener_materias(fmaterias)
	aprobadas = Archivos.obtener_aprobadas(faprobadas, materias)
	alumno = Alumnos.Alumno("Damian", "Schenkelman", 90728)
	alumno.set_aprobadas(aprobadas)
	opcion = Interfaz.obtener_operacion(operaciones)
	while (opcion != 0):
		if opcion == 1:
			alumno.imprimir_materias_aprobadas()
		elif opcion == 2:
			Interfaz.imprimir_promedio(str(alumno), alumno.obtener_promedio())
		elif opcion == 3:
			cursables = alumno.obtener_materias_cursables(materias)
			Interfaz.imprimir_materias_cursables(cursables)
		elif opcion == 4:
			codigoMateria = Interfaz.obtener_codigo_materia()
			materiasFiltradas = filter(lambda m: codigoMateria in m.correlativas, materias.values())
			Interfaz.imprimir_materias_que_tienen_correlativa(codigoMateria, materiasFiltradas)
		opcion = Interfaz.obtener_operacion(operaciones)
		
main()
